<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
    <!-- 导入页面的基本样式 -->
    <link rel="stylesheet" href="./css/search.css" />
    <!-- 导入 jQuery -->
    <script src="./lib/jquery.js"></script>
    <!-- 导入模板引擎 -->
    <script src="./lib/template-web.js"></script>
</head>

<body>
    <div class="container">
        <!-- Logo -->
        <img src="./images/taobao_logo.png" alt="" class="logo" />

        <div class="box">
            <!-- tab 栏 -->
            <div class="tabs">
                <div class="tab-active">宝贝</div>
                <div>店铺</div>
            </div>
            <!-- 搜索区域（搜索框和搜索按钮） -->
            <div class="search-box">
                <input id="ipt" type="text" class="ipt" placeholder="请输入要搜索的内容" />
                <button class="btnSearch">搜索</button>
            </div>
            <!-- 搜索建议列表 -->
            <div id="suggest-list">

            </div>
        </div>
    </div>



    <!-- 模板结构 -->
    <script type="text/html" id="tpl-suggestList">
        {{each result}}
        <!-- 搜索建议项 -->
        <div class="suggest-item">{{$value[0]}}</div>
        {{/each}}
    </script>





    <script>
        $(function() {
            // 1.定义延时器的id
            var timer = null;

            // 定义全局缓存对象
            var cheobj = {};


            // 2.定义防抖的函数
            function debou(kw) {
                timer = setTimeout(function() {
                    getSuggestList(kw);
                }, 500);
            };


            // 为输入框绑定keyup事件
            $('#ipt').on('keyup', function() {
                // 3.清空timer
                clearTimeout(timer);
                var keywords = $(this).val().trim();
                if (keywords.length <= 0) {
                    return $('#suggest-list').empty().hide();
                }

                // 先判断缓存中是否有数据
                if (cheobj[keywords]) {
                    return renderSuggestLister(cheobj[keywords]);
                }

                // TODO获取搜索建议列表
                // console.log(keywords);
                debou(keywords);


            });

            // 封装一个发起ajax jsonp的请求
            function getSuggestList(kw) {
                $.ajax({
                    url: 'https://suggest.taobao.com/sug?q=' + kw,
                    dataType: 'jsonp',
                    success: function(res) {
                        // console.log(res);
                        renderSuggestLister(res);
                    }
                });
            }


            // 渲染ui结构
            function renderSuggestLister(res) {
                if (res.result.length <= 0) {
                    return $('#suggest-list').empty().hide()
                }
                // 渲染
                var htmlStr = template('tpl-suggestList', res);
                $('#suggest-list').html(htmlStr).show();


                // 获取到用户输入的内容
                var k = $('#ipt').val().trim();
                // 需要将数据作为值进行缓存
                cheobj[k] = res;
            };









        });
    </script>
</body>

</html>